<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>Command-module for Foxit Reader PDF viewer &mdash; Dragonfly-modules v0.1 documentation</title>
    <link rel="stylesheet" href="_static/default.css" type="text/css" />
    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '',
        VERSION:     '0.1',
        COLLAPSE_MODINDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
      };
    </script>
    <script type="text/javascript" src="_static/jquery.js"></script>
    <script type="text/javascript" src="_static/doctools.js"></script>
    <link rel="index" title="Index" href="genindex.html" />
    <link rel="search" title="Search" href="search.html" />
    <link rel="top" title="Dragonfly-modules v0.1 documentation" href="index.html" />
    <link rel="next" title="Command-module for controlling TortoiseSVN from Windows Explorer" href="mod-_tortoisesvn.html" />
    <link rel="prev" title="Command-module for Microsoft Outlook control" href="mod-_outlook.html" /> 
  </head>
  <body>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="mod-_tortoisesvn.html" title="Command-module for controlling TortoiseSVN from Windows Explorer"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="mod-_outlook.html" title="Command-module for Microsoft Outlook control"
             accesskey="P">previous</a> |</li>
        <li><a href="index.html">Dragonfly-modules v0.1 documentation</a> &raquo;</li> 
      </ul>
    </div>  
    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  
  <div class="section" id="command-module-for-foxit-reader-pdf-viewer">
<h1>Command-module for <strong>Foxit Reader</strong> PDF viewer<a class="headerlink" href="#command-module-for-foxit-reader-pdf-viewer" title="Permalink to this headline">¶</a></h1>
<p>This module offers commands to control <a class="reference external" href="http://www.foxitsoftware.com/pdf/rd_intro.php">Foxit Reader</a>, a free
and lightweight PDF reader.</p>
<div class="section" id="installation">
<h2>Installation<a class="headerlink" href="#installation" title="Permalink to this headline">¶</a></h2>
<p>If you are using DNS and Natlink, simply place this file in you Natlink
macros directory.  It will then be automatically loaded by Natlink when
you next toggle your microphone or restart Natlink.</p>
</div>
<div class="section" id="module-source-code">
<h2>Module source code<a class="headerlink" href="#module-source-code" title="Permalink to this headline">¶</a></h2>
<p>The most current version of this module can be downloaded from the <a class="reference external" href="http://dragonfly-modules.googlecode.com/svn/trunk/command-modules/_foxitreader.py">repository here</a>.</p>
<div class="highlight-python"><table class="highlighttable"><tr><td class="linenos"><pre> 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87</pre></td><td class="code"><div class="highlight"><pre><span class="c">#</span>
<span class="c"># This file is a command-module for Dragonfly.</span>
<span class="c"># (c) Copyright 2008 by Christo Butcher</span>
<span class="c"># Licensed under the LGPL, see &lt;http://www.gnu.org/licenses/&gt;</span>
<span class="c">#</span>

<span class="sd">&quot;&quot;&quot;</span>
<span class="sd">Command-module for **Foxit Reader** PDF viewer</span>
<span class="sd">============================================================================</span>

<span class="sd">This module offers commands to control `Foxit Reader</span>
<span class="sd">&lt;http://www.foxitsoftware.com/pdf/rd_intro.php&gt;`_, a free</span>
<span class="sd">and lightweight PDF reader.</span>

<span class="sd">Installation</span>
<span class="sd">----------------------------------------------------------------------------</span>

<span class="sd">If you are using DNS and Natlink, simply place this file in you Natlink</span>
<span class="sd">macros directory.  It will then be automatically loaded by Natlink when</span>
<span class="sd">you next toggle your microphone or restart Natlink.</span>

<span class="sd">&quot;&quot;&quot;</span>

<span class="k">try</span><span class="p">:</span>
    <span class="kn">import</span> <span class="nn">pkg_resources</span>
    <span class="n">pkg_resources</span><span class="o">.</span><span class="n">require</span><span class="p">(</span><span class="s">&quot;dragonfly &gt;= 0.6.5beta1.dev-r76&quot;</span><span class="p">)</span>
<span class="k">except</span> <span class="ne">ImportError</span><span class="p">:</span>
    <span class="k">pass</span>

<span class="kn">from</span> <span class="nn">dragonfly</span> <span class="kn">import</span> <span class="p">(</span><span class="n">Grammar</span><span class="p">,</span> <span class="n">AppContext</span><span class="p">,</span> <span class="n">MappingRule</span><span class="p">,</span> <span class="n">Dictation</span><span class="p">,</span>
                       <span class="n">Key</span><span class="p">,</span> <span class="n">Text</span><span class="p">,</span> <span class="n">Config</span><span class="p">,</span> <span class="n">Section</span><span class="p">,</span> <span class="n">Item</span><span class="p">,</span> <span class="n">IntegerRef</span><span class="p">)</span>


<span class="c">#---------------------------------------------------------------------------</span>
<span class="c"># Set up this module&#39;s configuration.</span>

<span class="n">config</span>                             <span class="o">=</span> <span class="n">Config</span><span class="p">(</span><span class="s">&quot;Foxit reader control&quot;</span><span class="p">)</span>
<span class="n">config</span><span class="o">.</span><span class="n">lang</span>                        <span class="o">=</span> <span class="n">Section</span><span class="p">(</span><span class="s">&quot;Language section&quot;</span><span class="p">)</span>
<span class="n">config</span><span class="o">.</span><span class="n">lang</span><span class="o">.</span><span class="n">new_win</span>                <span class="o">=</span> <span class="n">Item</span><span class="p">(</span><span class="s">&quot;new (window | win)&quot;</span><span class="p">)</span>
<span class="c">#config.generate_config_file()</span>
<span class="n">config</span><span class="o">.</span><span class="n">load</span><span class="p">()</span>


<span class="c">#---------------------------------------------------------------------------</span>
<span class="c"># Create the main command rule.</span>

<span class="k">class</span> <span class="nc">CommandRule</span><span class="p">(</span><span class="n">MappingRule</span><span class="p">):</span>

    <span class="n">mapping</span>  <span class="o">=</span> <span class="p">{</span>
                <span class="s">&quot;zoom in [&lt;n&gt;]&quot;</span><span class="p">:</span>            <span class="n">Key</span><span class="p">(</span><span class="s">&quot;c-equals:</span><span class="si">%(n)d</span><span class="s">&quot;</span><span class="p">),</span>
                <span class="s">&quot;zoom out [&lt;n&gt;]&quot;</span><span class="p">:</span>           <span class="n">Key</span><span class="p">(</span><span class="s">&quot;c-hyphen:</span><span class="si">%(n)d</span><span class="s">&quot;</span><span class="p">),</span>
                <span class="s">&quot;zoom [one] hundred&quot;</span><span class="p">:</span>       <span class="n">Key</span><span class="p">(</span><span class="s">&quot;c-1&quot;</span><span class="p">),</span>
                <span class="s">&quot;zoom [whole | full] page&quot;</span><span class="p">:</span> <span class="n">Key</span><span class="p">(</span><span class="s">&quot;c-2&quot;</span><span class="p">),</span>
                <span class="s">&quot;zoom [page] width&quot;</span><span class="p">:</span>        <span class="n">Key</span><span class="p">(</span><span class="s">&quot;c-3&quot;</span><span class="p">),</span>

                <span class="s">&quot;find &lt;text&gt;&quot;</span><span class="p">:</span>              <span class="n">Key</span><span class="p">(</span><span class="s">&quot;c-f&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">Text</span><span class="p">(</span><span class="s">&quot;</span><span class="si">%(text)s</span><span class="s">&quot;</span><span class="p">)</span>
                                              <span class="o">+</span> <span class="n">Key</span><span class="p">(</span><span class="s">&quot;f3&quot;</span><span class="p">),</span>
                <span class="s">&quot;find next&quot;</span><span class="p">:</span>                <span class="n">Key</span><span class="p">(</span><span class="s">&quot;f3&quot;</span><span class="p">),</span>

                <span class="s">&quot;[go to] page &lt;int&gt;&quot;</span><span class="p">:</span>       <span class="n">Key</span><span class="p">(</span><span class="s">&quot;cs-n&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="n">Text</span><span class="p">(</span><span class="s">&quot;</span><span class="si">%(int)d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">),</span>

                <span class="s">&quot;print file&quot;</span><span class="p">:</span>               <span class="n">Key</span><span class="p">(</span><span class="s">&quot;c-p&quot;</span><span class="p">),</span>
                <span class="s">&quot;print setup&quot;</span><span class="p">:</span>              <span class="n">Key</span><span class="p">(</span><span class="s">&quot;a-f, r&quot;</span><span class="p">),</span>
               <span class="p">}</span>
    <span class="n">extras</span>   <span class="o">=</span> <span class="p">[</span>
                <span class="n">IntegerRef</span><span class="p">(</span><span class="s">&quot;n&quot;</span><span class="p">,</span> <span class="mf">1</span><span class="p">,</span> <span class="mf">10</span><span class="p">),</span>
                <span class="n">IntegerRef</span><span class="p">(</span><span class="s">&quot;int&quot;</span><span class="p">,</span> <span class="mf">1</span><span class="p">,</span> <span class="mf">10000</span><span class="p">),</span>
                <span class="n">Dictation</span><span class="p">(</span><span class="s">&quot;text&quot;</span><span class="p">),</span>
               <span class="p">]</span>
    <span class="n">defaults</span> <span class="o">=</span> <span class="p">{</span>
                <span class="s">&quot;n&quot;</span><span class="p">:</span> <span class="mf">1</span><span class="p">,</span>
               <span class="p">}</span>


<span class="c">#---------------------------------------------------------------------------</span>
<span class="c"># Create and load this module&#39;s grammar.</span>

<span class="n">context</span> <span class="o">=</span> <span class="n">AppContext</span><span class="p">(</span><span class="n">executable</span><span class="o">=</span><span class="s">&quot;foxitr&quot;</span><span class="p">)</span>
<span class="n">grammar</span> <span class="o">=</span> <span class="n">Grammar</span><span class="p">(</span><span class="s">&quot;foxit reader&quot;</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="n">context</span><span class="p">)</span>
<span class="n">grammar</span><span class="o">.</span><span class="n">add_rule</span><span class="p">(</span><span class="n">CommandRule</span><span class="p">())</span>
<span class="n">grammar</span><span class="o">.</span><span class="n">load</span><span class="p">()</span>

<span class="c"># Unload function which will be called by natlink at unload time.</span>
<span class="k">def</span> <span class="nf">unload</span><span class="p">():</span>
    <span class="k">global</span> <span class="n">grammar</span>
    <span class="k">if</span> <span class="n">grammar</span><span class="p">:</span> <span class="n">grammar</span><span class="o">.</span><span class="n">unload</span><span class="p">()</span>
    <span class="n">grammar</span> <span class="o">=</span> <span class="bp">None</span>
</pre></div>
</td></tr></table></div>
</div>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper">
            <h3><a href="index.html">Table Of Contents</a></h3>
            <ul>
<li><a class="reference external" href="">Command-module for <strong>Foxit Reader</strong> PDF viewer</a><ul>
<li><a class="reference external" href="#installation">Installation</a></li>
<li><a class="reference external" href="#module-source-code">Module source code</a></li>
</ul>
</li>
</ul>

            <h4>Previous topic</h4>
            <p class="topless"><a href="mod-_outlook.html" title="previous chapter">Command-module for <strong>Microsoft Outlook</strong> control</a></p>
            <h4>Next topic</h4>
            <p class="topless"><a href="mod-_tortoisesvn.html" title="next chapter">Command-module for controlling <strong>TortoiseSVN</strong> from Windows Explorer</a></p>
            <h3>This Page</h3>
            <ul class="this-page-menu">
              <li><a href="_sources/mod-_foxitreader.txt">Show Source</a></li>
            </ul>
          <h3>Quick search</h3>
            <form class="search" action="search.html" method="get">
              <input type="text" name="q" size="18" /> <input type="submit" value="Go" />
              <input type="hidden" name="check_keywords" value="yes" />
              <input type="hidden" name="area" value="default" />
            </form>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="mod-_tortoisesvn.html" title="Command-module for controlling TortoiseSVN from Windows Explorer"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="mod-_outlook.html" title="Command-module for Microsoft Outlook control"
             accesskey="P">previous</a> |</li>
        <li><a href="index.html">Dragonfly-modules v0.1 documentation</a> &raquo;</li> 
      </ul>
    </div>
    <div class="footer">
      &copy; Copyright 2008, Christo Butcher.
      Last updated on Apr 10, 2009.
      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.5.1.
    </div>
  </body>
</html>